/*
 * vim:foldmethod=marker:
 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>

#define N_MAX 100

int
main(void)
{
	static int AM[N_MAX][N_MAX];
	static int istoki[N_MAX], stoki[N_MAX];
	int istoki_n = 0, stoki_n = 0;
	int i, n;
	register int j = 0;

	(void) scanf("%d", &n);
	for (i=0; i < n; i++) {
		for (j = 0; j < n; j++) {
			(void) scanf("%d", &AM[i][j]);
			if (AM[i][j] && i != j) {
				istoki[i]++;
				stoki[j]++;
			}
		}
	}
	for (j = 0; j < n; j++) {
		if (!stoki[j])
			istoki_n++;
		if (!istoki[j])
			stoki_n++;
	}
	(void) printf("%d  ", istoki_n);
	for (j = 0; j < n; j++)
		if (/*istoki[j] && */!stoki[j])
			(void) printf("%d ", j + 1);
	putc('\n', stdout);
	(void) printf("%d  ", stoki_n);
	for (j = 0; j < n; j++)
		if (/*stoki[j] && */!istoki[j])
			(void) printf("%d ", j + 1);
	putc('\n', stdout);

	return 0;
}
